package com.clhbolg.service;

import com.clhbolg.domain.bo.UserRoleBo;
import com.clhbolg.domain.vo.UserRoleVo;
import com.clhbolg.model.dto.UserRoleDTO;
import com.clhbolg.model.vo.request.UserDisableVO;
import com.clhbolg.model.vo.request.UserRoleVO;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 【请填写功能名称】Service接口
 *
 * @author cailinhu
 * @date 2023-02-08
 */
public interface IUserRoleService {

    /**
     * 查询【请填写功能名称】
     */
    UserRoleVo queryById(Long id);

    /**
     * 查询【请填写功能名称】列表
     */
    TableDataInfo<UserRoleVo> queryPageList(UserRoleBo bo, PageQuery pageQuery);

    /**
     * 查询【请填写功能名称】列表
     */
    List<UserRoleVo> queryList(UserRoleBo bo);

    /**
     * 新增【请填写功能名称】
     */
    Boolean insertByBo(UserRoleBo bo);

    /**
     * 修改【请填写功能名称】
     */
    Boolean updateByBo(UserRoleBo bo);

    /**
     * 校验并批量删除【请填写功能名称】信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    List<UserRoleDTO> queryRoles();

    /**
     * 修改权限关系
     * @param vo
     */
    void updateUserRole(UserRoleVO vo);

    /**
     * 修改用户是否禁用
     * @param userDisableVO
     */
    void updateUserDisable(UserDisableVO userDisableVO);
}
